1. Field of the Invention
The present invention relates to a communication apparatus, synchronous communication system, communication interference suppress method and computer-readable recording medium recorded with a communication interference suppress program. Particularly, the present invention relates to a communication apparatus, synchronous communication system, communication interference suppress method and computer-readable recording medium recorded with a communication interferences suppress program to suppress interference caused by a plurality of synchronous communication systems present in the same space.
2. Description of the Background Art
FIGS. 5A and 5B are diagrams to describe the background of the present invention. Referring to FIG. 5A, a plurality of wireless communication systems (simply referred to as xe2x80x9csystemxe2x80x9d hereinafter) are present simultaneously in the same space. Communication of respective systems are effected independently. The signals issued from respective systems during the communication interfere with each other (bold arrow in FIG. 5A) and disturb communication therebetween.
Specifically in FIG. 5A, two systems SY1 and SY2 are present at the same time in the same space. System SY1 includes a host H1 and peripherals P11-P13. System SY2 includes a host H2 and peripherals P21-P23. FIG. 5A schematically shows that the signal issued by the communication of system SY1 affects system SY2 to disturb the communication between host H2 and peripheral P22, and also that the signal issued from the communication of system SY2 affects system SY1 to disturb the communication between host H1 and peripheral P13.
Definition of xe2x80x9cthe same spacexe2x80x9d is set forth in the following. In the case where a signal issued from a system affects another system when a plurality of systems are operated adjacent to each other at the same time, i.e., interference occurs by the signal, the plurality of systems are located in the same space.
Definition of a host and a peripheral is set forth in the following. In a 1-N communication system where communication is to be carried out between one host and N (Nxe2x89xa71) peripherals, the host is a control station to control communication in that system whereas a peripheral is a controlled station subjected to communication-operation under control of the host.
In order to suppress the effect of interference caused by a signal from another system, control must be provided to assign a communication processing time for each system by time-division method and carry out the communication process only during the communication processing time assigned to respective systems.
In order to operate simultaneously a plurality of systems that carry out 1-N communications, a centralized control system or a decentralized control system can be employed. In the centralized control system, a station that is a third party is provided to directly control the host that carries out centralized control in each system. By time-dividing and applying the aforementioned communication processing time which is the communication executable time with respect to each system, arbitration of the communication process between the systems is provided. In the decentralized control system, the host in each system adjusts the processing time applied to its own system in an autonomous distributed method.
In the centralized control system, a third party station to provide arbitration of the communication process between the systems must be prepared to provide control of respective hosts. Also, the control procedure employed between the hosts and the station that carries out arbitration must be defined. It is to be noted that this system to provide control of the hosts is not required all the time. Provision of such a station is effective only in the case where there are a plurality of systems at the same time in the operating environment of that station. In an operating environment where there is only a single system, the station will not provide any function and the feature to control the host will not be used efficiently. Thus, many resources will be wasted.
The IrDA Control Specification ((Formerly IrBus) Final Specificationxe2x80x94Final Revision 1.0, Jun. 30, 1998) is known as one distributed communication system. According to the this specification, transmission/reception control is effected in a centralized manner between the host and a plurality of peripherals to support communication between one host and a plurality of peripherals. By shifting the communication timing between the plurality of 1-n communication systems in a predetermined band tolerance, the plurality of systems can be operated simultaneously.
Details will be described hereinafter with reference to FIGS. 5B and 6.
FIG. 5B shows the control in the IrDA (Infrared Data Association) Control communication system where two peripherals are registered for one host. A synchronous communication system is set forth in the following. Control of each peripheral is administered at a constant time interval (referred to as xe2x80x9ccyclexe2x80x9d hereinafter). The host issues a control packet for a relevant peripheral at every cycle. The peripheral receives the control packet issued from the host. In the case where there is transmission data or the like to the host, a response packet is transmitted following the control packet reception. Thus, data is transferred.
In cycle TC1 starting at time T1 in FIG. 5B, the host first transmits to one peripheral (peripheral 1) a control packet H111 (the packet from the host to peripheral 1 at time T1). If peripheral 1 has data to be transferred to the host at the current stage, peripheral 1 transmits the transmission data through a packet P1 in response to control packet H111 from the host. Following transmission of the control packet to peripheral 1, the host transmits a control packet H121 to the other peripheral (peripheral 2) within the same cycle TC1. Peripheral 2 determines the presence of transfer data, and sends it, if any, through a packet P121 in response to control packet H121.
After the elapse of cycle TC1, a new cycle TC2 starts at time T2. The host carries out a control process similar to that of cycle TC1 during cycle TC2 with respect to the two registered peripherals.
In cycle TC2, the host provides control with respect to peripheral 1 (control and response through packets H112 and P112), and then sends control packet H122 during control of peripheral 2. If peripheral 2 has no data prepared to be transmitted to the host, a response does not have to be issued with respect to packet H122.
FIG. 6 is a flow chart of the dithering algorithm which is the frame to shift the communication execution timing defined in the IrDA control specification.
When there is no response of a packet from a peripheral (referred to as xe2x80x9cno-packet responsexe2x80x9d hereinafter) during the normal cycle process of FIG. 5B, or when an error is encountered during communication, the host increments a variable xe2x80x9cerror_countxe2x80x9d. At the same time, a variable xe2x80x9clastcycle_error_countxe2x80x9d is also incremented. The value of variable xe2x80x9clastcycle_error_countxe2x80x9d is used as the counter to detect no-packet response and also communication error during the immediately-proceeding single cycle. The value of variable xe2x80x9cerror_countxe2x80x9d is employed as a counter to count the no-packet response and communication error during a plurality of cycles starting from the previous determination process to proceed to the dithering process up to the determination process to proceed to the next dithering process. The processes for these variables are executed at an arbitrary cycle to be used as the basis of determining whether dithering determination is to be carried out or not.
Following the communication cycle processes that are sequentially executed, control proceeds to step S61 where determination is made to move to the determination phase of executing a dithering process or not. Since the dithering process is executed at an elapse of a constant number of cycle processes (generally, 5 cycles), control does not proceed to the phase of S62 et seq. when the required number of cycles has not elapsed.
In the case where shift to the dithering determination phase is not made (N at S61), control proceeds to step S72 to clear the value of variable xe2x80x9clastcycle_error_countxe2x80x9d. By this procedure, the latest error information as to the single cycle immediately proceeding the dither determination phase is stored in variable xe2x80x9clastcycle_error_countxe2x80x9d.
In the case where determination is made to execute a dithering process (Y at S61), control proceeds to step S62 to check the dithering setting. The dithering setting is in a sense a switch to define whether a dithering process is to be carried or not at step S71, and takes either an ON or OFF state. If the setting does not correspond to a dithering process (OFF state), control proceeds to step S63 to refer to the value of variable xe2x80x9cerror_countxe2x80x9d. If this value exceeds a predetermined upper limit threshold (the value of variable xe2x80x9cupper-thresholdxe2x80x9d) (Y at S63), the dithering setting is rendered ON at step S65, and control proceeds to step S67. If the case where the value of variable xe2x80x9cupper thresholdxe2x80x9d is not exceeded (N at S63), control proceeds to step S67. At step S67, initialization of variable xe2x80x9cerror_countxe2x80x9d and the variable to count the number of cycles to determine transition to a dithering process, if employed, is carried out.
In the case where the setting of step S62 already corresponds to a dithering process (ON state), control proceeds to step S64 to refer to the value of variable xe2x80x9cerror_countxe2x80x9d. If this value is lower than a predetermined lower limit threshold (value of variable xe2x80x9clower_thresholdxe2x80x9d), the dithering setting of ON in step S66 is turned OFF, and control proceeds to step S67. When the value is not lower than the lower limit threshold, control proceeds to step S67 with the setting still at the ON state.
Following initialization of variables at step S67, control proceeds to step S68 to refer to the value of variable xe2x80x9clastcycle_error_countxe2x80x9d. When the value is 0, control proceeds to step S69 to render the dithering setting OFF, otherwise, control proceeds to step S70 to check the dithering setting. If the dithering setting is ON, the dithering process of step S71, i.e. a process delayed by a period of time corresponding to calculation of the frame process start timing as to the next communication execution using a random number is executed. Following the dithering process of step S71, control proceeds to step S72 to clear the value of variable xe2x80x9clastcycle_error_countxe2x80x9d.
Thus, the host operates to suppress any communication disturbance caused by influence from another system by delaying the corresponding frame process start timing. By virtue of this system, a plurality of 1-N systems can be operated simultaneously within the usable range of the bandwidth.
In the case where response data is not provided from a peripheral in the above-described communication system, the counters will be incremented as in the event of communication error occurrence. Therefore, the precision in determining modification of the start timing of synchronous communication is inferior. In the case where there are no more transfer data from all the peripherals registered with respect to the host in a certain system, the start timing of synchronous communication is inevitably delayed within a constant period of time. Since this synchronous communication start timing delay is effected even though there is no transfer data from the peripheral, there will be no merit as to the system per se. Furthermore, there is a possibility of the communication of another system that was carried out properly being disturbed by the interference caused by modification (delay) of the synchronous communication start timing of that system. Since the synchronous communication start timing modification is continued intermittently even during the period where there is no transfer data from a peripheral, interference will also occur continuously.
In order to suppress the wasteful delay process of the synchronous communication start timing in the above communication system, the number of communication errors during the communication cycle process immediately preceding the process of determining whether to execute the process or not is counted (count value set to variable xe2x80x9clastcycle_error_countxe2x80x9d) to suppress the synchronous communication start timing delay execution when the counted value is 0. Also, execution of the synchronous communication start timing delay can be suppressed only under the circumstance where there is a response packet from all the peripherals registered in the host and there is no communication error in the previous communication cycle. Particularly in the case of infrared communication where there is not always a response from a peripheral since it is necessary to suppress power consumption for light emission at the time of packet transmission, delay of the synchronous communication start timing that is not required in the above communication system will be executed, so that communication disturbance cannot be improved.
An object of present invention is to reduce communication interference when there are a plurality of adjacent synchronous communication systems.
According to an aspect of present invention, a synchronous communication system includes one control apparatus, and at least one controlled apparatus that carries out synchronous communication with the control apparatus under control of the control apparatus in a predetermined order. When a plurality of such synchronous communication systems are present adjacent to each other, each of the plurality of synchronous communication systems includes a transmission unit, a receiver unit, an error count unit, a packet count unit, and a communication timing adjustment unit in the control apparatus.
The transmission unit transmits a packet in which control information is stored to at least one controlled apparatus. The receiver unit at least receives a packet stored with a response corresponding to the contents of the packet transmitted from the transmission unit from at least one controlled apparatus. The error count unit counts the number of synchronous communication errors occurred and the number of times a packet from at least one controlled apparatus was not received by the receiver unit during a constant period of time where synchronous communication is carried out with at least one controlled apparatus. The packet count unit counts how many of packets transferred in another system is received by the receiver unit during the constant period of time. The communication timing adjustment unit adjusts the synchronous communication timing according to a predetermined procedure based on the count result of the error count unit and the packet count unit.
In the above-described synchronous communication system, the synchronous communication start timing is appropriately adjusted based on information of the no-packet response frequency from at least one controlled apparatus and communication error occurrence frequency and also on information of packet reception from another system. Thus, in an environment where another system is present in an adjacent manner in the same space, communication disturbance caused by interference of the signal of another system can be avoided. A plurality of synchronous communication systems can coexist in the usable range of the bandwidth.
In the above-described synchronous communication system, the communication timing adjustment unit includes a determination unit to determine whether to adjust the synchronous communication timing or not based on the count result of the error count unit and the packet count unit. The synchronous communication timing can be adjusted according to a predetermined procedure based on the determination result of carrying out adjustment by the determination unit.
In the above-described synchronous communication system, the predetermined procedure can indicate replacement of the predetermined order between the controlled apparatus that did not receive a corresponding packet over the constant period of time by the receiver unit and another of the controlled apparatus.
In the case where the control apparatus does not receive a packet response from a controlled apparatus over the constant period of time in the above-described synchronous communication system, the predetermined order of control as to the controlled apparatus, i.e., the order of issuing the packet stored with control information can be replaced with that of another controlled apparatus that has packet response. As a result, definite identification can be made whether no-packet response from the controlled apparatus correspond to absence of transmission data or due to some communication error. Thus, communication timing adjustment of high accuracy is allowed.
The predetermined procedure in the above-described synchronous communication system can be implemented to conform to a rule selected according to the count result of the error count unit and the packet count unit out of one or more rules prepared in advance to adjust the synchronous communication timing.
In the above-described synchronous communication system, flexible timing adjustment is allowed by carrying out communication timing adjustment according to a rule selected based on a frequency of no-packet response from a controlled apparatus and communication error occurrence frequency, and also information of packet reception from another system. Thus, timing adjustment of high adaptivity with respect to the communication status can be carried out.
In the above-described synchronous communication system, the error count unit can count the synchronous communication error with a predetermined weight. The number of times a packet was not received from at least one controlled apparatus by the reception unit can be count with a weight lower than the predetermined weight.
In the above-described synchronous communication system, the number of no-packet responses from a controlled apparatus is count with a relatively low weight, whereas the number of occurred transmission errors is counted with a relatively higher weight. Communication timing adjustment is carried out according to such counted results. In the event where communication error occurrence can be identified definitely, the synchronous communication timing can be modified at an early stage. In the case of a no-packet response from a controlled apparatus with the possibility being caused by absence of data to be originally transmitted, the synchronous communication timing modification is suppressed taking into consideration the effect of modification to its own system and influence on the communication of another system. Therefore, synchronous communication timing adjustment that is simple and effective can be carried out.
The predetermined procedure can be implemented to designate that the synchronous communication timing is not adjusted in the case where the count result of the error count unit indicates that no communication error has occurred and a packet from at least one controlled apparatus was not received, and the count result by the packet count unit indicates that a packet transferred in another synchronous communication system has been received by the reception unit.
In the above-described synchronous communication system, the synchronous communication timing adjustment of its own system is suppressed in the case where there is no communication error and no packet response from a controlled apparatus, and the presence of another system, i.e., a packet from another system, can be detected. As a result, interference as to communication between one system and another system can be avoided, and influence to communication of another system can be suppressed.
In the above-described synchronous communication system, the control apparatus can be configured to adjust the synchronous communication timing according to time information corresponding to the start of synchronous communication until occurrence of communication error or until the time when a packet was not received from at least one controlled apparatus.
In the above-described synchronous communication system, the time from the start of synchronous communication up to the no-packet response from a controlled apparatus or communication error occurrence is measured. The synchronous communication timing is adjusted based on the measured result. The information of the time up to error detection is fed back to the amount of adjustment of the synchronous communication timing to increase or reduce the adjustment amount when the time up to error detection is short or long, respectively. The interference period can be gradually reduced as the interaction between the systems encountering interference. Accordingly, recovery from the communication disturbance caused by interference can be carried out by a stable operation.
According to another aspect of the present invention, a communication interference suppress method is to suppress interference of communication of respective plurality of adjacent synchronous communication systems. The synchronous communication system includes one control apparatus, and at least one controlled apparatuses carrying out synchronous communication with the control apparatus under control of the control apparatus at a predetermined order. The method includes a transmission step, a reception step, an error count step, a packet count step, and a communication timing adjust step in the control apparatus.
In the transmission step, a packet in which control information is stored is transmitted to at least one controlled apparatus. In the reception step, at least a packet storing response corresponding to the contents of the packet transmitted at the transmission step is received from at least one controlled apparatus. In the error count step, the number of synchronous communication errors occurred and the number of times a packet was not received from at least one controlled apparatus in the reception step during a constant period of time carrying out synchronous communication with at least one controlled apparatus are counted. In the packet count step, the number of packets transferred in another synchronous communication system and received at the reception step during the constant period of time is counted. In the communication timing adjust step, the synchronous communication timing is adjusted according to a predetermined procedure based on the count result of the error count step and the packet count step.
According to a further aspect of the present invention, a communication apparatus is provided in each of a plurality of adjacent synchronous communication systems. Each of the plurality of synchronous communication systems includes one communication apparatus, and at least one controlled apparatus carrying out synchronous communication with the communication apparatus and controlled. The communication apparatus includes a transmission unit, a reception unit, an error count unit, a packet count unit, and a communication timing adjustment unit.
A packet stored with control information is transmitted by the transmission unit to at least one controlled apparatus. At least a packet stored with response corresponding to the contents in the packet transmitted by the transmission unit from at least one controlled apparatus is received by the reception unit. The error count unit counts the number of synchronous communication errors occurred and the number of times a packet has not been received from at least one controlled apparatus by the reception unit during a constant period of time carrying out synchronous communication with at least one controlled apparatus. The packet unit counts how may of packets transferred in another synchronous communication system is received by the reception unit during the constant period. The communication timing adjustment unit adjusts the synchronous communication timing according to a predetermined procedure based on the count result of the error count unit and the packet count unit.
According to still another aspect of the present invention, a recording medium is recorded with a communication interference suppress program for a computer to execute a communication interference suppression method to prevent communication interference in a plurality of adjacent synchronous communication systems. The synchronous communication system includes one control apparatus, and at least one controlled apparatus carrying out synchronous communication with the control apparatus under control of the control apparatus in a predetermined order. The communication interference suppress method executed according to the communication interference suppress program includes a transmission step, a reception step, an error count step, a packet count step and a communication timing adjust step in the control apparatus.
In the transmission step, a packet stored with control information is transmitted to at least one controlled apparatus. In the reception step, a packet stored with response corresponding to the contents of the packet transmitted in the transmission step from at least one controlled apparatus is received in the reception step. In the error count step, the number of synchronous communication errors occurred and the number of packets not received from at least one controlled apparatus by the reception unit are counted in a constant period of time where synchronous communication with at least one controlled apparatus is carried out. In the packet count step, the number of packets transferred in another synchronous communication system and received in the reception step during the constant period is counted. In the communication timing adjustment step, the synchronous communication timing is adjusted according to a predetermined procedure based on the count result of the error count step and the packet count step.